<?php
require_once '../admin/config/conexao.class.php';
require_once '../admin/config/crud.class.php';
require_once './PHPMailer/class.phpmailer.php';
$con = new conexao(); // instancia classe de conxao
$con->connect(); // abre conexao com o banco

/*
 * Esta função verifica se o cliente já existe no banco de dados
 * passando como PARAMETRO o documento do cliente
 * se o cliente não existe no banco, retorna NULL
 * se já existe, retorna o objeto $cliente contendo os dados do mesmo
 */
function getCliente($cpf_cnpj){
    //busco na tabela cliente alguma ocorrência do campo clie_cpf_cnpj
    $consulta = mysql_query("SELECT * FROM ldct_cliente WHERE clie_cpf_cnpj ='".$cpf_cnpj."'");
   @$cliente = mysql_fetch_object($consulta);
                if($cliente==NULL):
                   return NULL;
                else:
                   return $cliente;
                endif;
  }              
                
 /*
  * Esta função muda a ativação do usuário atrelado a um cliente
  * $usua_ativo = 0 ou 1 (desativa ou ativa, respectivamente)
  */
function changeStatusUser($clie_id, $usua_ativo){
    $consulta_usuarios = mysql_query("SELECT * FROM ldct_usuario WHERE clie_id='$clie_id'");
    while ($usuario = mysql_fetch_array($consulta_usuarios, MYSQL_ASSOC)) {
        $usua_id=$usuario['usua_id'];
        $crud_usuario = new crud('ldct_usuario'); // instancia classe com as operaçoes crud, passando o nome da tabela como parametro
        $crud_usuario->atualizar("usua_ativo='$usua_ativo'", "usua_id='$usua_id'"); //ativa ou desativa o usuário
    }
}


/*
 * Esta função calcula uma nova validade de uma licença 
 * a partir de uma data somando o período (dias) do plano 
 * caso o plano não exista na tabela vd_plano, calculamos 30 dias
 */
function setNewValidate($today,$plan_id,$licen_id){
    $consulta_plano = mysql_query("SELECT * FROM vd_plano WHERE plan_id =".$plan_id);
    $plano = mysql_fetch_object($consulta_plano);
    if($plano==NULL):
        $periodo_plano = 30;
    else:
        $periodo_plano = $plano->plan_periodo_dias;
    endif;
    
    $nova_validade = date('Y-m-d H:i:s', strtotime("+".$periodo_plano." days",strtotime($today)));
    
    $crud_licenca = new crud('vd_licenca'); // instancia classe com as operaçoes crud, passando o nome da tabela como parametro
    $crud_licenca->atualizar("licen_valida_ate='$nova_validade'", "licen_id='$licen_id'"); //define nova data de validade
    
}


/*
 * Função para enviar e-mails de notificação
 */
function sendMail($mail_destino,$subject,$msg_html="",$msg_plain_text=""){
    $mail = new PHPMailer;
//$mail->SMTPDebug = 1; 
    $mail->IsSMTP();                                      // Set mailer to use SMTP
    $mail->Host = 'mail.leadcontrolbgp.com.br'; //'br150.hostgator.com.br';  // Specify main and backup server
    $mail->SMTPAuth = true;                               // Enable SMTP authentication
    $mail->Port = 26;
    $mail->Username = 'no-reply@leadcontrolbgp.com.br';                            // SMTP username
    $mail->Password = 'bgp@#lead';                           // SMTP password
    //$mail->SMTPSecure = 'ssl';                            // Enable encryption, 'ssl' also accepted

    $mail->From = 'no-reply@leadcontrolbgp.com.br';
    $mail->FromName = 'LeadControl';

    $mail->AddAddress($mail_destino);               // Name is optional
    //$mail->AddReplyTo('info@example.com', 'Information');

    $mail->WordWrap = 50;                                 // Set word wrap to 50 characters
    //$mail->AddAttachment('/var/tmp/file.tar.gz');         // Add attachments
    
    $mail->IsHTML(true);                                  // Set email format to HTML

    $mail->Subject = $subject;
    $mail->Body    = $msg_html;
    $mail->AltBody = $msg_plain_text;

    if(!$mail->Send()) {
       //echo 'Message could not be sent.';
      // echo 'Mailer Error: ' . $mail->ErrorInfo;
        return false;
       exit;
    }
    //echo 'Message has been sent';
    return true;
    
}

/*
 * Realiza um POST request para um destino
 * estou usando no cron.php para chamar o creatPaymentRequest.php
 */
function simulaPOST($url, $dados, $headers = false) { 
    $params = array('http' => array( 
    'method' => 'POST', 
    'content' => $dados )); 

    if ($headers) 
    $params['http']['header'] = $headers; 

    $ctx = stream_context_create($params); 

    $fp = @fopen($url, 'rb', false, $ctx); 

    //checa se o arquivo foi aberto com sucesso 
    if (!$fp) 
    throw new Exception("Problema com $url: - $php_errormsg"); 
    //obtém a resposta 
    $resp = @stream_get_contents($fp); 

    /*checa se os dados do arquivo remoto 
    foram lidos corretamente*/ 
    if ($resp === false) 
    throw new Exception("Problema ao ler dados de $url: - $php_errormsg"); 

    return $resp; 
} 

?>



<?php $con->disconnect(); // fecha conexao com o banco ?>